N3191: C++ Timeout Specification git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119909 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/__mutex_base b/include/__mutex_base index 554ec3f..d3b2a1b 100644 --- a/include/__mutex_base +++ b/include/__mutex_base
@@ -382,11 +382,11 @@ const chrono::duration<_Rep, _Period>& __d) { using namespace chrono; - system_clock::time_point __s_now = system_clock::now(); - monotonic_clock::time_point __c_now = monotonic_clock::now(); + system_clock::time_point __s_now = system_clock::now(); + steady_clock::time_point __c_now = steady_clock::now(); __do_timed_wait(__lk, __s_now + __ceil<nanoseconds>(__d)); - return monotonic_clock::now() - __c_now < __d ? cv_status::no_timeout : - cv_status::timeout; + return steady_clock::now() - __c_now < __d ? cv_status::no_timeout : + cv_status::timeout; } template <class _Rep, class _Period, class _Predicate> @@ -396,7 +396,7 @@ const chrono::duration<_Rep, _Period>& __d, _Predicate __pred) { - return wait_until(__lk, chrono::monotonic_clock::now() + __d, + return wait_until(__lk, chrono::steady_clock::now() + __d, _STD::move(__pred)); } diff --git a/include/chrono b/include/chrono index d41b88f..97b0c81 100644 --- a/include/chrono +++ b/include/chrono
@@ -223,26 +223,26 @@ typedef duration::rep rep; typedef duration::period period; typedef chrono::time_point<system_clock> time_point; - static const bool is_monotonic = false; + static const bool is_steady = false; static time_point now(); static time_t to_time_t (const time_point& __t); static time_point from_time_t(time_t __t); }; -class monotonic_clock +class steady_clock { public: typedef nanoseconds duration; typedef duration::rep rep; typedef duration::period period; - typedef chrono::time_point<monotonic_clock, duration> time_point; - static const bool is_monotonic = true; + typedef chrono::time_point<steady_clock, duration> time_point; + static const bool is_steady = true; static time_point now(); }; -typedef monotonic_clock high_resolution_clock; +typedef steady_clock high_resolution_clock; } // chrono @@ -843,26 +843,26 @@ typedef duration::rep rep; typedef duration::period period; typedef chrono::time_point<system_clock> time_point; - static const bool is_monotonic = false; + static const bool is_steady = false; static time_point now(); static time_t to_time_t (const time_point& __t); static time_point from_time_t(time_t __t); }; -class _LIBCPP_VISIBLE monotonic_clock +class _LIBCPP_VISIBLE steady_clock { public: typedef nanoseconds duration; typedef duration::rep rep; typedef duration::period period; - typedef chrono::time_point<monotonic_clock, duration> time_point; - static const bool is_monotonic = true; + typedef chrono::time_point<steady_clock, duration> time_point; + static const bool is_steady = true; static time_point now(); }; -typedef monotonic_clock high_resolution_clock; +typedef steady_clock high_resolution_clock; } // chrono diff --git a/include/condition_variable b/include/condition_variable index 682fb45..124d388 100644 --- a/include/condition_variable +++ b/include/condition_variable
@@ -232,7 +232,7 @@ condition_variable_any::wait_for(_Lock& __lock, const chrono::duration<_Rep, _Period>& __d) { - return wait_until(__lock, chrono::monotonic_clock::now() + __d); + return wait_until(__lock, chrono::steady_clock::now() + __d); } template <class _Lock, class _Rep, class _Period, class _Predicate> @@ -242,7 +242,7 @@ const chrono::duration<_Rep, _Period>& __d, _Predicate __pred) { - return wait_until(__lock, chrono::monotonic_clock::now() + __d, + return wait_until(__lock, chrono::steady_clock::now() + __d, _STD::move(__pred)); } diff --git a/include/future b/include/future index 55b0ead..be975f4 100644 --- a/include/future +++ b/include/future
@@ -603,7 +603,7 @@ future_status __assoc_sub_state::wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const { - return wait_until(chrono::monotonic_clock::now() + __rel_time); + return wait_until(chrono::steady_clock::now() + __rel_time); } template <class _R> diff --git a/include/mutex b/include/mutex index 45ce669..c87d0fd 100644 --- a/include/mutex +++ b/include/mutex
@@ -221,7 +221,7 @@ template <class _Rep, class _Period> _LIBCPP_INLINE_VISIBILITY bool try_lock_for(const chrono::duration<_Rep, _Period>& __d) - {return try_lock_until(chrono::monotonic_clock::now() + __d);} + {return try_lock_until(chrono::steady_clock::now() + __d);} template <class _Clock, class _Duration> bool try_lock_until(const chrono::time_point<_Clock, _Duration>& __t); void unlock(); @@ -264,7 +264,7 @@ template <class _Rep, class _Period> _LIBCPP_INLINE_VISIBILITY bool try_lock_for(const chrono::duration<_Rep, _Period>& __d) - {return try_lock_until(chrono::monotonic_clock::now() + __d);} + {return try_lock_until(chrono::steady_clock::now() + __d);} template <class _Clock, class _Duration> bool try_lock_until(const chrono::time_point<_Clock, _Duration>& __t); void unlock(); diff --git a/include/thread b/include/thread index fe671b2..abb56f4 100644 --- a/include/thread +++ b/include/thread
@@ -406,10 +406,10 @@ template <class _Duration> inline _LIBCPP_INLINE_VISIBILITY void -sleep_until(const chrono::time_point<chrono::monotonic_clock, _Duration>& __t) +sleep_until(const chrono::time_point<chrono::steady_clock, _Duration>& __t) { using namespace chrono; - sleep_for(__t - monotonic_clock::now()); + sleep_for(__t - steady_clock::now()); } inline _LIBCPP_INLINE_VISIBILITY